因此,对于Java Fundamentals的大学实验室,我遇到了麻烦.我必须设置一个开关并在里面切换一个盒子.用户输入有3个选项,每个选项都可以用字母回答.问题是这封信被允许为大写或小写,而问题是我似乎无法弄清楚如何设置它以便一个案例允许其中任何一个.
在下面的代码中.crustType被定义为char.
请记住这是Java基础知识,我们只是学习交换机,不幸的是我们的PPT并没有解释在这种情况下该怎么做.
switch (crustType) { case (crustType == 'H' || crustType == 'h'): crust = "Hand-tossed"; System.out.println("You have selected 'Hand-Tossed' crust for your pizza."); break; case (crustType == 'T' || crustType == 't'): crust = "Thin-crust"; System.out.println("You have selected 'Thin-Crust' crust for your pizza."); break; case (crustType == 'D' || crustType == 'd'): crust = "Deep-dish"; System.out.println("You have selected 'Deep-Dish' crust for your pizza."); break; default: crust = "Hand-tossed"; System.out.println("You have not selected a possible choice so a Hand-tossed crust was selected."); }
但是我一直收到错误|| ...
97: error: incompatible types case (crustType == 'H' || crustType == 'h'): ^ required: char found: boolean 102: error: incompatible types
Christian.. 10
使用:
case 'H': case 'h': ... break; case 'T': case 't': ... break;
代替.既然类型crustType
是char
,那么case
s中的内容必须是char
类型.当你把类似的东西
crustType == 'H'
你会得到一个错误,因为该表达式返回一个boolean
.
使用:
case 'H': case 'h': ... break; case 'T': case 't': ... break;
代替.既然类型crustType
是char
,那么case
s中的内容必须是char
类型.当你把类似的东西
crustType == 'H'
你会得到一个错误,因为该表达式返回一个boolean
.
这是错的,请使用如下
case 'H' : case 'h' : crust = "Hand-tossed"; System.out.println("You have selected 'Hand-Tossed' crust for your pizza."); break; // Next set code case
这是一个语句可以有多个案例标签的方式